Ⅰ python 字典创建问题
python创建文件与文件夹1.文件的创建:一般创建.txt文件函数open(file,'mode')file为文件地址,若不存在则新建,若不再本目录下,可以写绝对路径mode有以下几种方式:r只读 rb二进制只读 w写入且原有内容覆盖 a在文件末尾追加打开后文件需要.close()关闭2.文件夹的创建:使用os.mkdir(ad)方式建立,ad为新建文件夹名称的绝对路径
Ⅱ Python中字典创建、遍历、添加等实用操作技巧合集
字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途.
一、字典中常见方法列表
代码如下:
#方法
#描述
-------------------------------------------------------------------------------------------------
D.clear()
#移除D中的所有项
D.()
#返回D的副本
D.fromkeys(seq[,val])
#返回从seq中获得的键和被设置为val的值的字典。可做类方法调用
D.get(key[,default])
#如果D[key]存在,将其返回;否则返回给定的默认值None
D.has_key(key)
#检查D是否有给定键key
D.items()
#返回表示D项的(键,值)对列表
D.iteritems()
#从D.items()返回的(键,值)对中返回一个可迭代的对象
D.iterkeys()
#从D的键中返回一个可迭代对象
D.itervalues()
#从D的值中返回一个可迭代对象
D.keys()
#返回D键的列表
D.pop(key[,d])
#移除并且返回对应给定键key或给定的默认值D的值
D.popitem()
#从D中移除任意一项,并将其作为(键,值)对返回
D.setdefault(key[,default])
#如果D[key]存在则将其返回;否则返回默认值None
D.update(other)
#将other中的每一项加入到D中。
D.values()
#返回D中值的列表
二、创建字典的五种方法
方法一:
常规方法
代码如下:
#
如果事先能拼出整个字典,则此方法比较方便
>>>
D1
=
{'name':'Bob','age':40}
方法二:
动态创建
代码如下:
#
如果需要动态地建立字典的一个字段,则此方法比较方便
>>>
D2
=
{}
>>>
D2['name']
=
'Bob'
>>>
D2['age']
=
40
>>>
D2
{'age':
40,
'name':
'Bob'}
方法三:
dict--关键字形式
代码如下:
#
代码比较少,但键必须为字符串型。常用于函数赋值
>>>
D3
=
dict(name='Bob',age=45)
>>>
D3
{'age':
45,
'name':
'Bob'}
方法四:
dict--键值序列
代码如下:
#
如果需要将键值逐步建成序列,则此方式比较有用,常与zip函数一起使用
>>>
D4
=
dict([('name','Bob'),('age',40)])
>>>
D4
{'age':
40,
'name':
'Bob'}
或
代码如下:
>>>
D
=
dict(zip(('name','bob'),('age',40)))
>>>
D
{'bob':
40,
'name':
'age'}
方法五:
dict--fromkeys方法#
如果键的值都相同的话,用这种方式比较好,并可以用fromkeys来初始化
代码如下:
>>>
D5
=
dict.fromkeys(['A','B'],0)
>>>
D5
{'A':
0,
'B':
0}
如果键的值没提供的话,默认为None
代码如下:
>>>
D3
=
dict.fromkeys(['A','B'])
>>>
D3
{'A':
None,
'B':
None}
三、字典中键值遍历方法
代码如下:
>>>
D
=
{'x':1,
'y':2,
'z':3}
#
方法一
>>>
for
key
in
D:
print
key,
'=>',
D[key]
y
=>
2
x
=>
1
z
=>
3
>>>
for
key,
value
in
D.items():
#
方法二
print
key,
'=>',
value
y
=>
2
x
=>
1
z
=>
3
>>>
for
key
in
D.iterkeys():
#
方法三
print
key,
'=>',
D[key]
y
=>
2
x
=>
1
z
=>
3
>>>
for
value
in
D.values():
#
方法四
print
value
2
1
3
>>>
for
key,
value
in
D.iteritems():
#
方法五
print
key,
'=>',
value
y
=>
2
x
=>
1
z
=>
3
Note:用D.iteritems(),
D.iterkeys()的方法要比没有iter的快的多。
四、字典的常用用途之一代替switch
在C/C++/Java语言中,有个很方便的函数switch,比如:
代码如下:
public
class
test
{
public
static
void
main(String[]
args)
{
String
s
=
"C";
switch
(s){
case
"A":
System.out.println("A");
break;
case
"B":
System.out.println("B");
break;
case
"C":
System.out.println("C");
break;
default:
System.out.println("D");
}
}
}
在Python中要实现同样的功能,
方法一,就是用if,
else语句来实现,比如:
代码如下:
from
__future__
import
division
def
add(x,
y):
return
x
+
y
def
sub(x,
y):
return
x
-
y
def
mul(x,
y):
return
x
*
y
def
div(x,
y):
return
x
/
y
def
operator(x,
y,
sep='+'):
if
sep
==
'+':
print
add(x,
y)
elif
sep
==
'-':
print
sub(x,
y)
elif
sep
==
'*':
print
mul(x,
y)
elif
sep
==
'/':
print
div(x,
y)
else:
print
'Something
Wrong'
print
__name__
if
__name__
==
'__main__':
x
=
int(raw_input("Enter
the
1st
number:
"))
y
=
int(raw_input("Enter
the
2nd
number:
"))
s
=
raw_input("Enter
operation
here(+
-
*
/):
")
operator(x,
y,
s)
方法二,用字典来巧妙实现同样的switch的功能,比如:
代码如下:
#coding=gbk
from
__future__
import
division
x
=
int(raw_input("Enter
the
1st
number:
"))
y
=
int(raw_input("Enter
the
2nd
number:
"))
def
operator(o):
dict_oper
=
{
'+':
lambda
x,
y:
x
+
y,
'-':
lambda
x,
y:
x
-
y,
'*':
lambda
x,
y:
x
*
y,
'/':
lambda
x,
y:
x
/
y}
return
dict_oper.get(o)(x,
y)
if
__name__
==
'__main__':
o
=
raw_input("Enter
operation
here(+
-
*
/):
")
print
operator(o)
Ⅲ 一个python字典功能的程序
1.传统的文字表达式:
>>>
d={'name':'allen','age':21,'gender':'male'}>>>
d
{'age':
21,
'name':
'allen',
'gender':
'male'}123
如果你可以事先拼出整个字典,这种方式是很方便的。
2.动态分配键值:
>>>
d={}>>>
d['name']='allen'>>>
d['age']=21>>>
d['gender']='male'>>>
d
{'age':
21,
'name':
'allen',
'gender':
'male'}123456
如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。
字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:
>>>
d[1]='abcd'>>>
d
{1:
'abcd',
'age':
21,
'name':
'allen',
'gender':
'male'}>>>
d[2]
traceback
(most
recent
call
last):
file
"
",
line
1,
in
d[2]
keyerror:
212345678
3.字典键值表
>>>
c
=
dict(name='allen',
age=14,
gender='male')>>>
c
{'gender':
'male',
'name':
'allen',
'age':
14}123
因为这种形式语法简单,不易出错,所以非常流行。
这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:
>>>
c
=
dict(name='allen',
age=14,
gender='male',
1='abcd')syntaxerror:
keyword
can't
be
an
expression12
4.字典键值元组表
>>>
e=dict([('name','allen'),('age',21),('gender','male')])>>>
e
{'age':
21,
'name':
'allen',
'gender':
'male'}123
如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。
5.所有键的值都相同或者赋予初始值:
>>>
f=dict.fromkeys(['height','weight'],'normal')>>>
f
{'weight':
'normal',
'height':
'normal'}
Ⅳ python如何创建字典
zidian = {key:value,}
例如:
language = {'China':'chinese',
'Japan':'japanese',
}
Ⅳ python字典如何添加字典
python字典添加字典的方法:
1、首先建立一个新的字典
2、调用updata()函数,把新字典里面的键值对更新到dict里
3、打印dict,字典添加成功。
结果如下
Ⅵ Python中创建字典的几种方法总结
1.传统的文字表达式:
>>>d={'name':'Allen','age':21,'gender':'male'}
>>>d
{'age':21,'name':'Allen','gender':'male'}
如果你可以事先拼出整个字典,这种方式是很方便的。
2.动态分配键值:
>>>d={}
>>>d['name']='Allen'
>>>d['age']=21
>>>d['gender']='male'
>>>d
{'age':21,'name':'Allen','gender':'male'}
如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。
字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:
>>>d[1]='abcd'
>>>d
{1:'abcd','age':21,'name':'Allen','gender':'male'}
>>>d[2]
Traceback(mostrecentcalllast):
File"<pyshell#9>",line1,in<mole>d[2]
KeyError:212345678
3.字典键值表
>>>c=dict(name='Allen',age=14,gender='male')
>>>c
{'gender':'male','name':'Allen','age':14}
因为这种形式语法简单,不易出错,所以非常流行。
这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:
>>>c=dict(name='Allen',age=14,gender='male',1='abcd')
SyntaxError:keywordcan'tbeanexpression
4.字典键值元组表
>>>e=dict([('name','Allen'),('age',21),('gender','male')])
>>>e
{'age':21,'name':'Allen','gender':'male'}
如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。
5.所有键的值都相同或者赋予初始值:
>>>f=dict.fromkeys(['height','weight'],'normal')
>>>f
{'weight':'normal','height':'normal'}
Ⅶ 在python中健与值的数量不一样如何创建字典
摘要 python---创建字典的方式
Ⅷ Python中如何动态往列表中添加字典
>>>keys=['a','b','c']
>>>values=[1,2,3]
>>>dictionary=dict(zip(keys,values))
>>>print(dictionary)
{'a':1,'b':2,'c':3}
Ⅸ 如何用python制作特定文章的字典
1、传统的文字表达式:
123
>>> d={'name':'Allen','age':21,'gender':'male'}>>> d{'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你可以事先拼出整个字典,这种方式是很方便的。
2、动态分配键值:
123456
>>> d={}>>> d['name']='Allen'>>> d['age']=21>>> d['gender']='male'>>> d{'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。
字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:
12345678
>>> d[1]='abcd'>>> d{1: 'abcd', 'age': 21, 'name': 'Allen', 'gender': 'male'}>>> d[2]Traceback (most recent call last): File "<pyshell#9>", line 1, in <mole> d[2]KeyError: 2
3、字典键值表
123
>>> c = dict(name='Allen', age=14, gender='male')>>> c{'gender': 'male', 'name': 'Allen', 'age': 14}
因为这种形式语法简单,不易出错,所以非常流行。
这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:
12
>>> c = dict(name='Allen', age=14, gender='male', 1='abcd')SyntaxError: keyword can't be an expression
4、字典键值元组表
123
>>> e=dict([('name','Allen'),('age',21),('gender','male')])>>> e{'age': 21, 'name': 'Allen', 'gender': 'male'}
如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。
5、所有键的值都相同或者赋予初始值:
123
>>> f=dict.fromkeys(['height','weight'],'normal')>>> f{'weight': 'normal', 'height': 'normal'}
以上这篇Python中创建字典的几种方法总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
Ⅹ 用Python创建一个学生字典并可以查询其中信息
你可以试试这个----------------------------------------------------------
# -*- coding:UTF-8 -*-
students=[]
def meun():
print("="*30)
print("*"*10+"学生信息管理"+"*"*10)
print("1.添加学生信息")
print("2.删除学生信息")
print("3.指定学号查询学生信息")
print("4.查询全部学生信息")
print("5.保存信息")
print("0.退出系统")
print("="*30)
def add_new_info():
global students
print("您选择了添加学生信息功能")
name = input("请输入学生姓名:")
stuId = input("请输入学生学号(学号不可重复):")
age = input("请输入学生年龄:")
#验证学号是否唯一
i = 0
leap = 0
for temp in students:
if temp['id'] == stuId:
leap = 1
break
else:
i = i + 1
if leap == 1:
print("输入学生学号重复,添加失败!")
break
else:
# 定义一个字典,存放单个学生信息
stuInfo = {}
stuInfo['name'] = name
stuInfo['id'] = stuId
stuInfo['age'] = age
# 单个学生信息放入列表
students.append(stuInfo)
print("添加成功!")
def del_info():
global students
print("您选择了删除学生功能")
delId=input("请输入要删除的学生学号:")
#i记录要删除的下标,leap为标志位,如果找到leap=1,否则为0
i = 0
leap = 0
for temp in students:
if temp['id'] == delId:
leap = 1
break
else:
i=i+1
if leap == 0:
print("没有此学生学号,删除失败!")
else:
del students[i]
print("删除成功!")
def search_info():
global students
searchID=input("请输入你要查询学生的学号:")
#验证是否有此学号
i = 0
leap = 0
for temp in students:
if temp['id'] == searchID:
leap = 1
break
else:
i = i + 1
if leap == 0:
print("没有此学生学号,查询失败!")
else:
print("找到此学生,信息如下:")
print("学号:%s 姓名:%s 年龄:%s "%(temp['id'],temp['name'],temp['age']))
def print_all_info():
print("序号 学号 姓名 年龄")
for temp in students:
print("sno:%s,stuName:%s,stuAge:%s" %(temp['id'],temp['name'],temp['age']))
print("*"*20)
def loda_data():
#加在之前存储的数据
global students
f = open("info_data.data")
content = f.read()
info_list = eval(content)
f.close()
def main():
#加在数据(先存好数据,在打开这个数据直接读取数据)
#load_data()
while True:
#1.打印工程
meun()
#2.获取用户的选择
key = input("请输入要进行的操作):")
#3.根据用户的选择,作出相应的事件
if key == "1":
add_new_info()
elif key == "2":
del_info()
elif key == "3":
search_info()
elif key == "4":
print_all_info()
elif key == "5":
save_data()
elif key == "0":
exit_flag = input("你确定要退出吗?(yes or no)")
if exit_flag == "yes":
break
else:
print("输入有误,请重新输入。。。")
input(" 按回车键可以继续。。。")
continue
#程序开始
main()
摘自网页链接-------------------------------------------------------------------
请采纳,谢谢