问大神们,python问题,跪求大神解答

都是些很弱智的问题,但是我就是天生学不好,不知道为什么,请问,comman-line, 命令行到底是干吗的? import sys 和sys.agv[1:] 是什么意思。 dictionary 里的重要性质是key. key和dictionary的关联是什么, 平时怎么利用ditionary,list,set,key 他们和sys的关联是什么,hash在python里面到底是什么意思。set((2,3,5))可以loop每一个,但是set([2,3,5]) 不能通过每一个值,为什么,argument 在python 里面到底是什么意思,运用起来和以上的有什么关联么

大神们,麻烦再解释一个python

name_to_age={'Alice':30,'Bob':25,'Carol':18,'Dave':25,'Ed':30,'Frank':25}

#start with a new empty dic
age_to_name={}

#loop through every name:age pair in the name_to_age
for name in name_to_age:
age=name_to_age[name]
#if we've seen this age before, append name to it's list
if(age in age_to_name):
name_list=age_to_name[age]
name_list.append(name)
#age_to_name[age]=name_list
#if this is the first time we've seen this age
#add a new list of [name]
else:
age_to_name[age]=[name]

#print both dictionaries
print(name_to_age)
print(age_to_name)

(1)Command Line,中文翻译为命令行,简单解释为 你最长看到的那个黑色背景的,类似于DOS界面的窗口,用于输入命令的。

(2)不过Python的Command Line和Windows的cmd,不是一回事。详情参考帖子:
Windows的cmd下运行Python脚本,不是在Python的Command Line工具下运行Python脚本

其中,关于Windows的cmd,参见这个帖子:2.2.2.1. cmd简介

(3)import sys
是导入sys模块的。
关于什么是模块,可参考帖子:
【教程】Python中的内置的模块 和第三方的模块

(4)sys.agv[1:]
sys模块有获得执行python脚本时所传递的参数的功能,
此处就是利用这点,通过sys.agv获得对应的参数,
然后再用sys.agv[1:]获得从起始位置索引号为1到最后的那段字符的

(5)所谓字典类型变量
就是 一个 key(键),对应一个value(值)
比如
{"yourName":"hihihi789123"}
其中yourName就是key,键
hihihi789123就是value,值

(6)ditionary,list,set,key等等,
都是属于Python中自带的变量类型
平时使用过程中,需要根据自己的所要实现的功能,定义合适的类型的变量
然后写python代码,去实现对应的功能的。

(7)ditionary,list,set,key 他们和sys,简单说,没关系
因为前者,是变量类型
后者sys,是一个模块

(8)hash在python里面到底是什么意思
我写了很多代码了,貌似暂时还没用到hash。
所以,估计你在今后很长时间内,都很可能暂时用不到hash,可以暂时不用学习。等需要的时候再学。

(9)set((2,3,5))可以loop每一个,但是set([2,3,5]) 不能通过每一个值,为什么
没看懂你要表达啥意思。

(10)argument 在python 里面到底是什么意思,运用起来和以上的有什么关联么
参见(8)的解释,暂时你可以不用关心。

(11)你的代码,就不解释了。因为太乱了。没有缩进。
Python代码是必须有对应的缩进的,表示对应的代码间的逻辑关系的。

关于以上所有的内容,建议你去看:
【整理】如何学习Python + 如何有效利用Python有关的网络资源 + 如何利用Python自带手册(Python Manual)

然后还有什么不懂。
再一点一点问。
不要想一口吃个胖子,否则被撑死了,还都木有消化。

(此处不给贴地址,以上所有帖子,都请自己搜标题,即可找到)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-20
comman-line:可以通过调用本地命令行执行一些必要的计算机本地操作;

import sys:sys是python自带的一个模块,import即导入,导入之后才能调用该模块提供的一些函数;

sys.agv[1:] :指获取sys中agv数组下标为1开始到末尾的数据;

dictionary 中的key即一个字典中索引,比如
name_to_age={'Alice':30,'Bob':25,'Carol':18,'Dave':25,'Ed':30,'Frank':25},Alice、Bob、Carol...(这些名字)为key,他们相对应的value就是30、25、18...(年龄),比如name_to_age['Alice']可以直接取到Alice的年龄30,dictionary中只能通过key获取value,但是不能逆向操作。

后面“
set((2,3,5))可以loop每一个,但是set([2,3,5]) 不能通过每一个值,为什么,argument 在python 里面到底是什么意思,运用起来和以上的有什么关联么


这个我就不多做解释了,因为前面部分才是编程语言中最基本的,那些你理解不了这些解释起来你更迷糊。建议你还是先去学习这些基础知识。

关于代码,python中必须的代码缩进你没有,程序是无法执行的。
大致内容是:

name_to_age={'Alice':30,'Bob':25,'Carol':18,'Dave':25,'Ed':30,'Frank':25}
声明一个dictionary类型的常量name_to_age,其中以name为key,age为value

#start with a new empty dic
age_to_name={}
声明一个dictionary类型的空变量age_to_name

#loop through every name:age pair in the name_to_age
for name in name_to_age:
age=name_to_age[name]
根据name循环从name_to_age取出所有的age并保存到age变量中
#if we've seen this age before, append name to it's list
if(age in age_to_name):
name_list=age_to_name[age]
name_list.append(name)
如果age_to_name中已经存在相同年龄的情况下,则将其名字添加到name_list数组中
(注:这里有个错误,name_list应该在for循环前生命,否则存在大量相同age时的name_list在新一次循环中被重新声明,以致于之前保存的数据丢失)
#age_to_name[age]=name_list
#if this is the first time we've seen this age
#add a new list of [name]
else:
age_to_name[age]=[name]

否则age_to_name中不存在相同年龄的情况下,将name存储到age_to_name对应age的key下

#print both dictionaries
print(name_to_age)
输出:{'Alice':30,'Bob':25,'Carol':18,'Dave':25,'Ed':30,'Frank':25}
print(age_to_name)
输出:{18:'Carol'}(原因是相同age对应name未保存到age_to_name中)
第2个回答  2012-11-17
就是把key和value互换一下

大神们,python中两个空的字符串为啥不相等?
空字符串一定相等。不相等说明两个字符串并非全为空。

python编程完全自学教程?
3、加入讨论组:学习Python加入一个讨论群是非常重要的,很多时候我们在学习的过程中会遇到很多问题和麻烦难以解决掉,这个时候讨论组就可以起到非常重要的作用,每天编码是必不可少的事情,学习Python坚持编码同样重要,没有编码基础难以提供高质量动手能力。 4、学会总结,在学习Python的时候最忌讳的问题就是光学不练习,还...

python多线程退出
这种情况很正常,Python自身的线程并不安全且不与PyQt兼容,你既然用PyQt了,为什么不尝试用Qt自身的线程类QThread呢?那么基于Qt自身的特点,主线程关闭时,子线程就可以安全地退出了,而不会出现你现在这种情况了。

Python3中报错Undefined variable: assert_equal
有未定义变量assert_equal,需要引入库函数,里面有这个变量。

python判断字符串是否符合某种固定格式
回答:完全看不懂你的描述。只看题目的话,肯定第一个想到的是用正则表达式。

python import json 报错
与json无关。你在命令行下执行一下你的脚本试试。如果还不成,就需要设置你当前操作系统的编码。直接原因是你输入的汉字没有被解析正确。后面的错误都是由这个引起的。

powershell如何打开Python
1、首先打开电脑,然后在电脑桌面点击左下角的开始菜单。2、然后在开始菜单中,选中图中箭头所指的选项。3、这样就启动了python。4、也可以点击开始菜单找到运行窗口,输入cmd回车后,打开命令提示符。5、最后在打开的命令运行窗口中,输入python命令启动,就可以了。

64位win10下geany设置生成命令后依旧无法生成
在编辑程序里运行程序的时候,IDE会在后面插上一段代码,就是please...什么的那个,但是直接运行exe就不会有插入的代码了,运行结束自动就退出了,就是窗口一闪而过。 要想看到结果,得在命令窗口里!

关于内网BT下载的问题
由于安全性问题,sp2系统对并发的TCP连接数做出了限制,但是此举会严重影响BT软件的速度,目前最好的解决办法是下载 http:\/\/www.lvllord.de\/ 网站的TCPIP补丁。 补丁官方位置 http:\/\/www.lvllord.de\/download.php?...Patch212-en.zip 本站下载 http:\/\/bbs.btchina.net\/attachment.php?s=&postid=1204292 是否...

关于《藏羚羊跪拜》的问题,急!
苦等37分钟: 现在才知道厂长为什么受欢迎,从电竞就看的 回答 苦等37分钟: 有个像马爸爸一样的高智商是怎样的体验 回答 苦等41分钟: 培训学习Python,该选什么样的学习方式 回答 苦等44分钟: 天天宅在家玩炉石,想出去玩请问有搭讪攻略吗 回答 更多等待求助问题 > 登录...

相似回答